package com.csw.shuanfa.utils.jwt;

import java.util.HashSet;
import java.util.Set;

public class TokenRevocationService {
    private static Set<String> revokedTokens = new HashSet<>();

    /**
     * 生成token的时候，把他存入redis,同时返回前端
     * 注销的时候，把他从redis里面删除
     * 【拦截器】登入要先校验是否在黑名单里，否，是否在redis里，在则有效
     * 如果从一个A浏览器登入，从B浏览器也登入【在登入的时候要检验是否在别处登录，如果登录了就加入token黑名单里，从redis里面删除。然后生成新的token存到redis里面，并返回前端】
     * 【redis里面可以设置过期时间，token也要设置过期时间，防止两次生成的token一样】
     * 【黑名单可以用数据库或者共享set来维护】
     *
     * @param token
     */
    public static void revokeToken(String token) {
        revokedTokens.add(token);
    }

    public static boolean isTokenRevoked(String token) {
        return revokedTokens.contains(token);
    }
}
